package com.cy.store.mapper;

import com.cy.store.domain.User;
import org.apache.ibatis.annotations.Param;

import java.util.Date;

/**
 * @author Administrator
 * @version 1.0
 * @description: 用户数据持久层
 * @date 2025/2/18 19:36
 */

public interface UserMapper {

    /**
     * 插入用户的数据
     * @param user 用户的数据
     * @return 受影响的行数(增删改都将受影响的行数作为返回值,可以根据返回值来判断是否执行成功)
     */
    Integer insert(User user);
    Integer updatePasswordByUid(Integer uid, String password, String modifiedUser,Date modifiedTime);

    /**
     * 根据用户名来查询用户的数据
     * @param username 用户名
     * @return 如果找到对应的用户则返回这个用户的数据,如果没有找到则返回null
     */
    User findByUsername(String username);
    User findByUid(Integer uid);
    Integer updateInfoByUid(User user);
    Integer updateAvatarByUid(@Param("uid") Integer id,
//                              这里用了@Param注解,是为了解决接口中的参数名称和实体类中的属性名称不一样的情况,直接用@Param注解可以省去xml中的#{uid}
//                              也就是将java中的形参id映射到xml（SQL）中的#{uid}
                              String avatar,
                              String modifiedUser,
                              Date modifiedTime);

}

